
import axios from 'axios'
import { Message } from 'element-ui'
// import routes from "routes"
import router from '@/router'


// router.beforeEach((to, from, next) => {
//     // if()
//     let token = localStorage.getItem('token')
//     if (token) {
//         next()
//     } else {
//         to('/login')
//         next('/login')
//     }
// })
import { BASE_URL } from './common'
// 配置接口前缀
// axios.defaults.baseURL = 'http://1.15.179.44:3001'
axios.defaults.baseURL = BASE_URL

// 请求拦截器   每次axios发起请求都要 经过这个地方，就给请求头加上token
axios.interceptors.request.use(config => {
    //config就是请求头的相关消息， url ,参数

    // 从本地取出token，设置给config ， config带给后端服务器
    const token = localStorage.getItem('token')
    //设置token 
    config.headers.Authorization = token
    // 放行
    return config
})
// 相应拦截器
axios.interceptors.response.use(res => {

    if (res.data.hasOwnProperty('code') && res.data.code !== 0) {
        Message.error(res.data.msg)
    }
    return res
}, err => {
    console.log('后端出错了！！')
    console.log(err.response.data.code === 401);
    if (err.response && err.response.data.code === 401) {
        router.push('/login')
    }
    // }
    return Promise.reject('网络出错！！！')
    // return (err)
})
// axios.interceptors.response.use(err => {
//     // if( eer. ){
//     console.log(err.response.data.code === 401);
//     if (err.response.data.code === 401) {
//         router.push('/login')
//     }
//     // }
//     return (err)
// })

// 导出
export default axios